Method for accessing and updating data in a database using membership abstractions and logical representations

ABSTRACT

This is a computer-implemented method for accessing and updating data in a database that preserves relationships among data, including derived data. Data need not be stored in a tabular form. The method incorporates and integrates membership abstractions, relation predicates, and logical predicates of data with relationships among data so as too avoid update and other errors and to translate among logical representations, symbolic abstractions, and physical representations.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims benefit of priority of, and is a division of,U.S. patent application Ser. No. 11/649,089, filed on Dec. 31, 2006,which is a continuation-in-part of Ser. No. 10/114,609, filed Apr. 2,2002, now U.S. Pat. No. 7,263,512. This application is filed to continuethe prosecution, separately, of the invention described in the claims1-38 below, and expressly incorporates both below and by reference allof the original application's specification and drawings.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

DESCRIPTION OF ATTACHED APPENDIX

Not Applicable

1. A computer implemented method for accessing and updating data in adatabase comprising: accepting an expression comprising at least both anoperation on the first derived data and a first data reference to afirst derived data; selecting a first derived membership abstractionassociated with the first data reference; decomposing the first derivedmembership abstraction into a decomposed derived membership abstraction,said decomposed derived membership abstraction comprising a set ofsource data references to source data, a set of operations on the sourcedata, and a set of constraints; forming a derived expression bymodifying the expression according to, and incorporating elements of,the decomposed derived membership abstraction, said derived expressionbeing logically equivalent to the expression; and, performing at least afirst operation in the set of operations on the source data as specifiedby and according to the derived expression.
 2. A method as in claim 1wherein at least a portion of the source data has a tabularrepresentation.
 3. A method as in claim 1 wherein at least a portion ofthe source data is has a non-tabular representation.
 4. A method as inclaim 1 wherein the set of constraints comprises at least onemulti-table constraint.
 5. A method as in claim 1 wherein the set ofconstraints comprises at least one column constraint.
 6. A method as inclaim 1 wherein the set of constraints comprises at least one rowconstraint.
 7. A method as in claim 1 wherein the set of constraintscomprises at least one multi-row constraint.
 8. A method as in claim 1further comprising identifying at least one membership abstraction ascorresponding to at least one data reference in the derived expression.9. A method as in claim 1 further comprising identifying at least onetable name as corresponding to at least one data reference in thederived expression.
 10. A method as in claim 1 further comprisingidentifying at least one table metadata as corresponding to at least onedata reference in the derived expression.
 11. A method as in claim 1further comprising identifying at least one relation predicate ascorresponding to at least one data reference in the derived expression.12. A method as in claim 1 further comprising identifying at least onelogical predicate as corresponding to at least one data reference in thederived expression.
 13. A method as in claim 1 further comprisingidentifying at least one data structure as corresponding to at least onedata reference in the derived expression.
 14. A method as in claim 1wherein at least one membership abstraction denoted by a table name. 15.A method as in claim 1 wherein at least one membership abstractioncomprises a plurality of membership abstractions.
 16. A method as inclaim 1 wherein at least member of a set consisting of the first derivedmembership abstraction and the decomposed derived membership abstractionis a logical predicate.
 17. A method as in claim 1 wherein at leastmember of a set consisting of the first derived membership abstractionand the decomposed derived membership abstraction is a relationpredicate.
 18. A method as in claim 1 wherein the step of performing isdetermined to be logically consistent with each membership abstractionlogically implied by the derived expression.
 19. A method as in claim 1further comprising: applying each operation of the set of operationswhen that operation as specified by the derived expression is determinedto be logically consistent with a membership abstraction associated withthe data to which that operation is to be applied.
 20. A method as inclaim 1 wherein the physical representation of at least a portion of thesource data is non-tabular.
 21. A method as in claim 1 wherein at leastone membership abstraction associated with at least one data referenceis stored in and retrieved from a repository.
 22. A method as in claim 1wherein the said derived expression comprises a set of source membershipabstractions and is logically equivalent to the expression.
 23. A methodas in claim 1 wherein the step of performing further comprises applyingthe set of operations on source data to a physical representation ofsource data according to and consistent with a logical representation ofsource data.
 24. A method as in claim 1 further comprising: checking,after the step of performing, whether the result of performing at leastthe first operation is logically consistent with at least a firstpost-operation constraint; guaranteeing that the first operation has noeffect on the source data if the step of checking determines that theresult of that first operation on the source data is not logicallyconsistent with the first post-operation constraint; and, completing theeffect on the source data by the first operation if and only if the stepof checking determines that the result of that operation is consistentwith the first post-operation constraint.
 25. A method as in claim 24wherein the first post-operation constraint is among a plurality ofsource data;
 26. A method as in claim 24 wherein the firstpost-operation constraint is on data having a plurality of datastructures.
 27. A method as in claim 24 wherein the step of guaranteeinghas a result that is equivalent to the first operation having no effecton the source data and is independent of the result of other operationslogically implied by the derived expression.
 28. A computer implementedmethod for accessing and updating data in a database comprising:specifying a plurality of membership abstractions, each corresponding toa member of a set of data types; defining a derived data type ascomprising at least a combination of at least two members of the set ofdata types; deriving a derived membership abstraction for the deriveddata type as comprising both the plurality of membership abstractions,and a set of operators corresponding to the combination and comprisingat least a first operator; storing the derived membership abstraction inassociation with a first symbolic reference to the derived data type,and each of the plurality of membership abstractions in association withat least one symbolic reference to that membership abstraction'scorresponding data type; and, modifying the derived membershipabstraction responsive to a change in at least one of the set of datatypes, the plurality of membership abstractions, and the combination.29. A method as in claim 28 wherein the first operator corresponds toone member of a set of operators consisting of a logical operator, arelational operator, and a set operator.
 30. A method as in claim 28wherein at least one of the derived data type and a member of the set ofdata types is a table column's type.
 31. A method as in claim 28 whereinat least one of the derived data type and a member of the set of datatypes is one member of a set consisting of a table's type and arelation's type.
 32. A method as in claim 28 wherein at least one of thederived data type and a member of the set of data types is a non-tabulartype.
 33. A method as in claim 28 wherein at least one of the pluralityof membership abstractions and the derived membership abstraction is amember of a set consisting of a logical predicate and a relationpredicate.
 34. A method as in claim 28 wherein at least one of theplurality of membership abstractions and the derived membershipabstraction is denoted by a symbolic name.
 35. A method as in claim 28wherein the first operator corresponds to a computational procedure. 36.A method as in claim 35 wherein the computational procedure produces atleast one member of a set of results consisting of summarized data andaggregated data.
 37. A data processing system comprising: a processorfor performing operations; a storage means for storing any ofexpressions, operations, data, data references, membership abstractions,and metadata; means for accepting a expression comprising at least afirst data reference to a first derived data and an operation on thefirst derived data; means for selecting a first derived membershipabstraction associated with the first data reference; means fordecomposing the first derived membership abstraction into a decomposedderived membership abstraction, said decomposed derived membershipabstraction comprising a set of source data references to source data, aset of operations on the source data, and a set of constraints; meansfor forming a derived expression by modifying the expression accordingto and incorporating elements of the decomposed derived membershipabstraction, and being logically equivalent to the expression; and,means for performing at least a first operation in the set of operationson the source data as specified by and according to the derivedexpression.
 38. An apparatus comprising machine-readable program coderecorded on recordable media, the program code comprising instructionsfor controlling the operation of at least a first data processing systemon which it executes to perform the following steps: accepting aexpression comprising at least a first data reference to a first deriveddata and an operation on the first derived data; selecting a firstderived membership abstraction associated with the first data reference;decomposing the first derived membership abstraction into a decomposedderived membership abstraction, said decomposed derived membershipabstraction comprising a set of source data references to source data, aset of operations on the source data, and a set of constraints; forminga derived expression by modifying the expression according to andincorporating elements of the decomposed derived membership abstraction,and being logically equivalent to the expression; and, performing atleast a first operation in the set of operations on the source data asspecified by and according to the derived expression.